package com.song.workpool;

import java.util.ArrayList;

/**
 * 任务接口
 * 
 * @author yunlong.zhang
 * 
 */
public abstract class Task<T>  {
	protected ArrayList<T> datas = null;
	protected T data = null;

	public Task(){
		
	}

	public Task(ArrayList<T> objList) {
		this.addTaskDatas(objList);
	}
	
	public Task(T data) {
		if (data != null) {
			this.data = data;
		}
	}

	/**
	 * 添加需要任务处理的数据
	 * 
	 * @param objList
	 */
	public void addTaskDatas(ArrayList<T> objList){
		if (objList != null) {
			this.datas = objList;
		}
	}
	

	/**
	 * 添加需要任务处理的数据
	 * 
	 * @param objList
	 */
	public void addTaskData(T data){
		if (data != null) {
			this.data = data;
		}
	}

	/**
	 * 抽象方法：任务所需执行方法
	 * 
	 * @throws Exception
	 */
	public abstract void taskPerform() throws Exception;
}
